Wykres, który będę poprawiać i zamieniać na interaktywny to wykres słupkowy pochodzący ze strony: https://www.bankier.pl/wiadomosc/Jest-praca-w-sporcie-Zatrudnienie-w-gore-o-10-proc-8587763.html przedstawiony poniżej.

A beautiful landscape

Problemy jakie dostrzegam na wykresie:

Tworzę ramkę danych z danymi z wykresu (Prawdopodobnie nie będą dokładne, własnie dlatego, że trudno je odczytać dokłądnie ze słupków)

library(dplyr)
country<- c("Sweden","Finland","Denmark","Spain","France","Estonia","Netherlands","Ireland","Portugal","Slovenia","Greece","Luxembourg","Cyprus","Malta","Austria","Belgium","Hungary","Czechia","Italy","Latvia","Germany","Lithuania","Croatia","Slovakia",paste("<b>", "Poland", "</b>"),"Bulgaria","Romania","Iceland","Switzerland","Norway","EU")
isInEU<-c(TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,"EU")
employment<- c(1.4,1.2,1.2,1.1,1.1,1,1,0.9,0.9,0.9,0.8,0.8,0.7,0.7,0.7,0.6,0.6,0.6,0.6,0.6,0.6,0.5,0.5,0.4,0.4,0.3,0.2,2.7,1.1,1.1,0.8)
df<-data.frame(country,employment,isInEU)
df<-df %>% 
  mutate(Opis= case_when(isInEU==TRUE ~"Is in EU",
                            isInEU == FALSE ~"Is not in EU",
                            isInEU=="EU"~"European Union"))
head(df)
##   country employment isInEU     Opis
## 1  Sweden        1.4   TRUE Is in EU
## 2 Finland        1.2   TRUE Is in EU
## 3 Denmark        1.2   TRUE Is in EU
## 4   Spain        1.1   TRUE Is in EU
## 5  France        1.1   TRUE Is in EU
## 6 Estonia        1.0   TRUE Is in EU

Stworzę wykres słupkowy, który będzie posortowany po wartości employment, nie będę oddzielała słupka EU na początek tylko wprowadzę rozróżnienie kolorem. Wykres będzie interaktywny, aby można było zobaczyć każdą wartość, która nas interesuje.

library(plotly)

df$country <- factor(df$country, levels = df$country[order(-df$employment)])

plot_ly(
  data = df,
  x = ~country,
  y = ~employment,
  type = 'bar',
  color=~Opis,
  colors = c("#285da0","#72a32f","#d1720d")
)%>%
layout(
  title = "Employment in sport as a share of total employment in 2022",
  legend = list(
      x = 0.9, y = 0.9, 
      title = list(text = "Legend"), 
      bgcolor = "#E2E2E2"
    ),
  yaxis = list(range = c(0, 3.01),
               title = " % of employment in sport"),
  bargap = 0.2,
  margin = list(l = 60, r = 50, b = 50, t = 50)
  
)

Na moim wykresie: